方式一:使用JavaScriptSerializer
需要先添加System.Web.Extensions引用(微软自带)
List集合转换为json字符串
//定义一个测试list
List<decimal[]> list = new List<decimal[]>();
for (int i = 0; i < 5; i++)
{
list .Add(new decimal[] { 100+i , i});
}
//把List集合转换为json字符串
JavaScriptSerializer serializer = new JavaScriptSerializer();
string jsonData=serializer.Serialize(list);
MessageBox.Show(jsonData);
结果如下图:
json字符串转换为List集合
//实例化JavaScriptSerializer类的新实例
JavaScriptSerializer jss = new JavaScriptSerializer();
//将指定的 JSON 字符串转换为List集合
List<decimal[]> list = jss.Deserialize<List<decimal[]>>(jsonData);
方式二、使用JsonConvert
需要引用Newtonsoft.Json.dll库(请自行下载对应的版本)
List集合转换为json字符串
//定义一个测试list
List<decimal[]> list = new List<decimal[]>();
for (int i = 0; i < 5; i++)
{
list.Add(new decimal[] { 100 + i, i });
}
//把List集合转换为json字符串
string jsonData = JsonConvert.SerializeObject(list))
json字符串转换为List集合
//把json字符串转换为List集合
List<decimal[]> list2 = JsonConvert.DeserializeObject<List<decimal[]>>(jsonData);
for (int i = 0; i < list2.Count; i++)
{
Console.WriteLine("第一个值:" + list2[i][0] + ",第二个值" + list2[i][1]);
}
3、输出结果如下图: